home *** CD-ROM | disk | FTP | other *** search
- #include <exec/types.h>
- #include <libraries/dos.h>
- #include <workbench/workbench.h>
- #include <workbench/startup.h>
-
- #include <clib/alib_protos.h>
- #include <clib/exec_protos.h>
- #include <clib/dos_protos.h>
- #include <clib/icon_protos.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- struct Library *IconBase=NULL;
- void sr(char *s);
-
- char source[200];
- char destination[200];
-
- main(int argc,char *argv[])
- {
- char *s;
- int i;
- struct DiskObject *src;
- struct DiskObject *dst;
- struct Gadget *srcgad;
- struct DiskObject new;
- BOOL success=FALSE;
- if(argc!=3)
- {
- printf("CopyObj version 1.0, written by Joseph Hodge\n");
- printf("usage: CopyObj <source.info> <destination.info>\n");
- printf(" ie: CopyObj Serial.info BBS:Node1/Serial.info\n");
- printf("\n\n");
- exit(0);
- }
-
- strcpy(source,argv[1]);
- strcpy(destination,argv[2]);
- sr(source);
- sr(destination);
- i=strlen(source)-1;
- while(i>=0)
- {
- if(source[i]=='.') break;
- i--;
- }
- if(i) source[i]='\0';
- i=strlen(destination)-1;
- while(i>=0)
- {
- if(destination[i]=='.') break;
- i--;
- }
- if(i) destination[i]='\0';
-
- IconBase=OpenLibrary("icon.library",0L);
- if(src=GetDiskObject(source))
- {
-
- srcgad=(struct Gadget *)&src->do_Gadget;
- if(dst=GetDiskObject(destination))
- {
- CopyMem(dst,&new,sizeof(struct DiskObject));
- new.do_Gadget.Width=srcgad->Width;
- new.do_Gadget.Height=srcgad->Height;
- new.do_Gadget.Flags=srcgad->Flags;
- new.do_Gadget.Activation=srcgad->Activation;
- new.do_Gadget.GadgetType=srcgad->GadgetType;
- new.do_Gadget.GadgetRender=srcgad->GadgetRender;
- new.do_Gadget.SelectRender=srcgad->SelectRender;
- PutDiskObject(destination,(struct DiskObject *)&new);
- FreeDiskObject(dst);
- }
- else
- {
- PutDiskObject(destination,src);
- }
- FreeDiskObject(src);
- }
- CloseLibrary(IconBase);
- exit(0);
- }
-
- void sr(char *s)
- {
- register int i;
- i=strlen(s)-1;
- while(i>-1)
- {
- if(*(s+i)<=32) *(s+i)='\0'; else break;
- i--;
- }
- }
-